﻿using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;

namespace GBricks
{
  [DebuggerStepThrough]
  [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Throw", Justification = Justifications.ConvenientIdentifier)]
  public static class Throw
  {
    public static void InvalidOperation() {
      throw ExceptionBuilder.InvalidOperation();
    }

    public static void InvalidOperation(string message) {
      throw ExceptionBuilder.InvalidOperation(message);
    }

    public static void NotSupported() {
      throw ExceptionBuilder.NotSupported();
    }

    public static void NotSupported(string message) {
      throw ExceptionBuilder.NotSupported(message);
    }

    public static void KeyNotFound(string message) {
      throw ExceptionBuilder.KeyNotFound(message);
    }

    public static void KeyNotFound<T>(T key) {
      throw ExceptionBuilder.KeyNotFound<T>(key);
    }
  }
}
